home *** CD-ROM | disk | FTP | other *** search
/ Experimental BBS Explossion 3 / Experimental BBS Explossion III.iso / gus / patinf11.zip / PATCH.DOC next >
Text File  |  1993-03-26  |  4KB  |  84 lines

  1.  
  2.  
  3.  
  4. Note: Words and double-words are stored Intel-style.
  5.  
  6. Offset: (decimal)    Contents:
  7. -------              ---------
  8.   0-7         ASCII text:  'GF1PATCH'
  9.   8-10        ASCII text:  '100'  (pre 2.01 disks)
  10.                            '110'  (2.01 disks)
  11.   11          byte '00'
  12. 12-20         ASCII text   'ID#000002'
  13.   21          byte '00'
  14.   22          ASCII text:  copyright text
  15.   82          byte  ;I call this Voices, always set to 1
  16.   83          word  ;I call this Channels, always set to 14 decimal (0E hex)
  17.   85          word  ;number of of samples, or waves
  18.   87          word  ;master volume, usually set to 127 decimal (7F hex)
  19.   89          dword ;unknown, not used with pre 2.01 patches, value is close
  20.                     ;to the total length of the patch file.  May be used for
  21.                     ;memory management purposes.
  22.   131         ASCII text:  name of patch.
  23.                     ;first letter is missing in pre 2.01 patches
  24.                     ;apparently not used in 2.01 patches
  25.   147         dword ;unknown, related to value at 89
  26.                     ;set equal to 1 in pre 2.01 patches
  27.   151         byte  ;unknown, but is always 1
  28.   194         dword ;another value related to values at 89 and 147
  29.                     ;not used in pre 2.01 patches
  30.   198         word  ;number of samples, or waves
  31.  
  32.   239         Sample block, or wave block
  33.                     ;there is a sample block for every sample in a patch
  34.  
  35.                     ;the following offsets are into the sample block
  36.  
  37.   0-5         ASCII text:  sample name
  38.                     ;this is usually 'NoName'
  39.    6          byte '00'
  40.    7          byte  ;I call this the mode byte, use is unknown
  41.    8          dword ;length of sample in bytes
  42.    12         dword ;loop start in bytes offset from beginning of sample
  43.    16         dword ;loop end in bytes offset from beginning of sample
  44.    20         word  ;sampling frequency
  45.    22         dword ;high frequency multiplied by 1000
  46.    26         dword ;low frequency multiplied by 1000
  47.    30         dword ;base frequency multiplied by 1000
  48.    34         byte  ;detune, usually equal to zero
  49.    35         byte  ;octave, usually equal to 2   
  50.    36         byte  ;balance, usually 7, meaning center of stereo field
  51.  37-48        12 bytes  ;envelope data, format unknown
  52.                     ;I have observed the following:
  53.                     ;first byte: higher = slower attack
  54.                     ;second byte: higher = longer attack
  55.                     ;fourth byte: level of release
  56.                     ;seventh byte: lower=slower attack
  57.                     ;eighth byte: lower = longer delay until attack
  58.                     ;ninth byte: level of release
  59.                     ;tenth byte: length of release
  60.    49         byte  ;tremolo sweep
  61.    50         byte  ;tremolo rate
  62.    51         byte  ;termolo depth
  63.    52         byte  ;vibrato sweep
  64.    53         byte  ;vibrato rate 
  65.    54         byte  ;vibrato depth
  66.    55         byte  ;flags  7 6 5 4 3 2 1 0
  67.                     ;I have observed the following:
  68.                     ;7 6:  envelope scaling (I think)
  69.                     ;5: 1=melodic, 0=percussion
  70.                     ;4: 1=read sample backwards, 0=read sample forwards
  71.                     ;2: 1=sample is looped, 0=sample plays through once
  72.                     ;0: 1=sample is 16-bit, 0=sample is 8-bit
  73.    56         byte  ;unknown, not used in pre 2.01 patches, usually '3C' hex
  74.    59         byte  ;unknown, not used in pre 2.01 patches, usually '04'
  75.  
  76.    96         Sample
  77.                     ;sample data is stored unsigned
  78.                     ;16-bit samples are stored Intel style with the
  79.                     ;least significant byte stored first.
  80.  
  81.                     ;If there is more than one sample in the patch, the next
  82.                     ;sample block starts right after the end of the 
  83.                     ;previous sample.
  84.